2026-0115-1030 gdc - Authored vs. Systemic - Finding a Balance for Combat AI in Uncharted 4
Slip-box
To be fleeting notes
Fleeting
To be literature notes (Understanding)
L-Origin
https://www.youtube.com/watch?v=G8W7EQKBgcg
这份 GDC 演讲由顽皮狗(Naughty Dog)的游戏设计师 Matthew Gallant 主讲,详细解析了《神秘海域 4:盗贼末路》(Uncharted 4: A Thief's End)在战斗 AI 设计上的演变。
核心挑战在于:如何在保持顽皮狗一贯的高度定制化(Authored) 战斗体验的同时,引入更多系统化(Systemic) 的机制,以支持该作中更宽阔的关卡、垂直战斗和潜行玩法。
第一部分:背景与失败的尝试
1. 前三代的作品逻辑:高度定制化 (02:18 - 05:29)
- 区域限制 (Zoning):设计师为每个 NPC 划定绿色的圆柱形区域。NPC 只能在区域内活动。
- 微操脚本:设计师必须预设所有细节。例如:如果玩家往左走,敌人 A 留在阳台;如果玩家往右走,敌人 A 跳下楼。这种方式在窄线性关卡效果极佳,但在大型关卡中工作量巨大且极易出错。

2. 《神海 4》的新挑战 (05:29 - 07:57)
- 宽线性关卡:如马达加斯加场景,传统的区域脚本无法覆盖所有路径。
- 动态潜行循环:玩家可以从战斗切回潜行,AI 需要有寻找玩家的行为。
- 同屏人数翻倍:从 PS3 的 8 人增加到 16 人,需要更高效的分配方式。






- AI 基础模块




- posts 是自动生成的(类似 tactical point)



3. 早期失败的尝试 (13:43 - 23:42)
-
强行锁定射程:试图通过让步枪手和手枪手始终保持在特定距离来防止聚堆。结果:NPC 变得极度不稳定,玩家一动,AI 就疯狂跑位寻找新点位。

-
纯算法评估 (Connectivity & Vantage):试图让程序自动识别门口或高地。结果:在有机自然的环境(丛林、岩石)中失效,且导致所有战斗同质化。



-
基于“热度”的搜索 (Heat-based Search):AI 寻找“最久没看过”的区域。结果:AI 行为看起来不像人类,会频繁在拐角处突然转身,让玩家在潜行时感到极度沮丧。


第二部分:成功的解决方案(平衡之道)
1. 硬点系统 (Hard Points) (25:02 - 27:40)
- 概念:它是独立于 NPC 存在的“虚拟点位”,拥有名称、区域范围、最少/最多分配人数。
- 优势:实现了动态交接。当后方援軍赶到时,他们会自动接管守护大门(硬点)的任务,从而释放之前的 NPC 冲向玩家。这一切都是系统自动完成的,无需手动写脚本。




- 战斗角色 (Combat Roles) (27:40 - 32:33)
Gallant 借鉴了《吃豆人》(Pac-man)的 AI 逻辑,将敌人分为三层:


- blinky
- chase the player's current position
- pinky
- head off the player's future position
- clyde
- holds down his corner of the maze


- 交战者 (Engagers):像红鬼 Blinky,贴脸紧跟玩家。
- 伏击者 (Ambushers):像粉鬼 Pinky,预判玩家路径并提前卡位。

- 防御者 (Defenders):像橙鬼 Clyde,坚守硬点(如狙击位或出口)。



3. 射击频率管理 (Shooter Role) (36:11 - 38:16)
- 如果 10 个 NPC 同时开火,玩家会秒死。团队引入了“射击者令牌”,限制同时开火的人数(通常为 3-4 人)。
- 包装细节:没拿令牌的 NPC 会躲在掩体后观察或谩骂,让玩家觉得他们只是在寻找时机,而不是智障。
4. 路径循环搜索 (Spline Loops) (38:16 - 40:07)
- 解决搜索不可预知的问题。设计师在地图上手绘路径(Spline)。AI 沿路径走动并偶尔偏离去检查掩体。这让 AI 的动向可预测,赋予玩家潜行反杀的机会。

5. 经典技巧回溯 (40:07 - 44:28)
-
手榴弹导演:如果玩家在一个掩体待得太久,系统会强制指派一名 NPC 扔雷,逼迫玩家移动。

-
侧翼包抄 (Flankers):系统选择当前无所事事的 NPC,计算避开玩家视线的路径进行包抄。

-
准度爬坡 (Accuracy Ramping):NPC 发现玩家后,准度会随时间提高。这鼓励玩家保持敏捷,而非原地对射。


- limitation



核心结论与 takeaway (47:57 - 结束)

- 不要通过算法去反向推演设计意图:直接让关卡设计师在地图上标注哪些地方是“高地”或“出口”,比写复杂的算法去识别要高效得多。

- 从玩家视角设计行为:AI 不是为了“自嗨”,而是为了给玩家提供有趣的博弈。搜索行为必须让玩家能预判。

- 角色化设计,程序化指派:设计师定义“角色”,程序根据距离和武器动态指派 NPC 去扮演这些角色。

- 数量众多的 NPC 必须各司其职:不要让 16 个人都像踢足球的孩子一样追着球(玩家)跑,外围的人必须有包抄或防守的目标。

总结:顽皮狗通过“硬点”和“角色”机制,在保持电影化叙事体验的同时,解决了开放式场景带来的复杂度问题。
L-My Words
L-Zotero citation key
To be permanent notes (Complete Ideas)
P-Self Explained Sentences
P-Connection
- Parent
- Caused by::
- - Driven by::
- - Cite from::
-
- Caused by::
- Child
- Excalidraw::
- - Is source of::
- - Including::
- - Have Example::
- - Contributes to::
- - Consist of::
-
- Excalidraw::
- Friend
- Left
- Achieved with::
- - Affected by::
- - Supported by::
- - Enhanced by::
- - related::
-
- Achieved with::
- Right
- against::
- - Opposites::
-
- against::
- Left